import createBreadcrumb from './graphicUtil'
// 是否显示提示框组件
const ifShowToolTip = true

// 地图默认缩放比例
const zoom = 1.5

function getToolTip() {
  return {
    show: ifShowToolTip,
    trigger: 'item',
    formatter: function (params) {
      // console.log(params); // 当我们想要自定义提示框内容时，可以先将鼠标悬浮的数据打印出来，然后根据需求提取出来即可
      // console.log(params)
      return '<div style="background-color: red"> %</div>'
    },
  }
}

// 自定义动画，暂时没用
function zoomAnimation(i) {
  let count = null
  var zoom = function (per) {
    if (!count) count = per
    count = count + per
    i.setOption({
      geo: {
        zoom: count,
      },
    })
    if (count < 1)
      window.requestAnimationFrame(function () {
        zoom(0.2)
      })
  }
  window.requestAnimationFrame(function () {
    zoom(0.2)
  })
}

/**
 * n 地图名
 * d 地图的数值与visualMap会用到
 * c 当前选中的行政区划code
 **/
export default function getOption(n, d, c) {
  return {
    backgroundColor: '#eeeeee',
    // visualMap: createVisualMap,
    graphic: createBreadcrumb(n, c), // 下钻导航（面包屑）
    tooltip: getToolTip(), // 提示框
    geo: {
      map: n,
      zoom: zoom,
      roam: false, // 鼠标是否能够拖动地图

      label: {
        show: true,
        color: '#fff',
      },
      itemStyle: {
        // 边框和阴影设置
        borderColor: 'rgba(0, 117, 171, 1)',
        borderWidth: 1,
        areaColor: 'rgba(1, 51, 91, 1)',
        // shadowColor: 'rgba(0, 136, 159, 1)',
        // shadowOffsetX: 0,
        // shadowOffsetY: 10,
        // shadowBlur: 20
      },
      emphasis: {
        itemStyle: {
          areaColor: '#389BB7', // 鼠标悬浮时候该区域地图背景的颜色
          borderWidth: 0,
        },
        label: {
          show: true,
          textStyle: {
            color: '#ffd200',
          },
        },
      },
    },
    series: [
      {
        type: 'map',
        map: n,
        data: d,
        zoom: zoom,
        geoIndex: 0, // 共享geo组件
      },
      // {
      //     name: mapJsonData.name,
      //     type: "effectScatter",
      //     coordinateSystem: "geo",
      //     data: convertData,
      //     silent: true, //禁止鼠标事件
      //     encode: {value: 3},
      //     symbolSize: [15, 15],
      //     showEffectOn: "render",
      //     rippleEffect: {
      //         brushType: "stroke",
      //     },
      //     hoverAnimation: true,
      //     label: {
      //         normal: {
      //             formatter: "{b}",
      //             position: "bottom",
      //             color: "#000",
      //             show: true,
      //         },
      //     },
      //     itemStyle: {
      //         color: "#10f9ff", // 图标小坐标点的背景色
      //         shadowBlur: 0,
      //         shadowColor: "#05C3F9"
      //     },
      //     z: 3,
      // },
    ],
    animation: true,
    animationEasing: 'cubicOut',
  }
}
